import type { PropType } from "vue"
// 图标大小Enum
export enum IconSize {
	XS_2 = "2xs",
	XS = "xs",
	SM = "sm",
	LG = "lg",
	XL = "xl",
	XL_2 = "2xl",
}

// 该文件专门给属性定义类型
const props = {
	icon: {
		type: String as PropType<string>,
		required: true,
	},
	size: {
		type: String as PropType<IconSize>,
		default: () => IconSize.SM,
	},
	rotation: {
		type: [Number, String] as PropType<number>,
	},
	flip: {
		type: [Number, String, Boolean] as PropType<string>,
	},
	beat: Boolean,
	["beat-fade"]: Boolean,
	bounce: Boolean,
	fade: Boolean,
	shake: Boolean,
	spin: Boolean,
	type: String,
	color: String,
}

export default props
